package com.atguigu.gulimall.ware.feign;

import com.atguigu.common.utils.R;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;

@FeignClient("gulimall-gateway")
public interface ProductFeignService {

    /**
     * 1、第一种写法，直接调用gulimall-product，@FeignClient("gulimall-product")
     * /product/skuinfo/info/{skuId}
     * 2、第二种写法，让所有请求过网关，gulimall-gateway --> gulimall-product，@FeignClient("gulimall-gateway")
     * /api/product/skuinfo/info/{skuId}
     *
     * 1）、让所有请求过网关
     * 1、@FeignClient("gulimall-gateway")：给gulimall-gateway所在的机器发请求
     * 2、/api/product/skuinfo/info/{skuId}
     * 2）、直接让后台指定服务处理
     * 1、@FeignClient("gulimall-product")
     * 2、/product/skuinfo/info/{skuId}
     *
     * @param skuId
     * @return
     */
    @RequestMapping("/api/product/skuinfo/info/{skuId}")
    R info(@PathVariable("skuId") Long skuId);
}
